import axios from "axios";
import Vue from "vue"
import Router from "../router/index"
import jwtDecode  from 'jwt-decode'
import {Message} from "element-ui";
const BASEURL = "http://localhost:8088";/*"http://111.229.143.202:9000/admin";*/
const service = axios.create({
  baseURL:BASEURL,                /*"http://47.115.62.124:8080",*/
  timeout: 15000,
})

console.log(process.env.NODE_ENV);
import {
  getAccessToken,setRole,setuserName
} from "./cacheProcessing";
/*
* 在请求接口前，对数据进行拦截处理
* */
// 添加请求拦截器
service.interceptors.request.use(
  function (config) {
    // 在发送请求之前做些什么
    let token = getAccessToken();
    if (token) {
      config.headers["Authorization"] = token;
      //console.log(jwtDecode(token));
      setRole(jwtDecode(token).rol)
      setuserName(jwtDecode(token).sub)
    }

  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

/*
*请求接口后，对返回数据进行拦截
*  */
// 添加响应拦截器
service.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  let data = response.data

//  console.log(response);

  if(data.resCode == 0){

    Message.error(data.message);
    return Promise.reject(data);
  }else{
    return response;
  }
}, function (error) {
  // 对响应错误做点什么
  // console.log(err.response.data)
  if (err.response.data.errMsg) {
    Vue.prototype.$message({
      type: 'error',
      message: err.response.data.errMsg
    })
  }

  if (err.response.status === 401) {
    Router.push('/login')
  }

  return Promise.reject(error);
});



export default service;

